對,我們連神經網路還沒有很懂就要開始學自然語言處理(NLP)了
這也合乎講師的目的
先了解AI 解問題的流程,再從中去想
「怎樣可以更好」
那有了這個問題與「興趣」後,再去學相關的基礎理論
效率才會好。
在講師的書,NLP是放在第10章
所以很明顯這是跳過一堆基本知識了
但我們依然可以「大略」的了解一下NLP的處理流程
後面我們會用一個kaggle比賽題目來跑這個nlp 流程
先來講一下什麼是自然語言處理
我們之前用的是影像,把影像讀取到電腦就是每個像素的值
這個值是多少取決於你設定的色彩取樣
假設你是黑白照片,每一個像素就是只有1跟0
你是灰階圖案,每一個像素範圍就是0~255
如果你是彩色,每一個像素就會有不同的數值,例如RGB,CMYK,YUV等等
所以我們很直觀的就可以把影像拿來當成數字資料來處理
但是文字呢?
文字怎麼轉換成數字?
所以首先我們需要先想辦法把文字轉成數字
在轉數字前,我們需要了解這個文字對我們的意義
我們是想要用文字來解決什麼樣的問題?
我們是想從一句話中,得到「語意」所以文字之間的「關聯性」是否就很重要?
所謂的關聯性就是一個「相對性」的概念
所以我們就可以用向量的概念來設定這些詞語的關係,他們彼此距離有多遠
所以這些也是要用一堆數學式來計算,這個我們先不討論,因為已經有前人幫我們解決了
我們只要選一個模型來做這些事,我們就可以得到一個文字轉向量的工具
所以第一步就是:文字轉向量
一個字可以變成一個向量,一段文章就是一個陣列集合
接下來就可以看看我們的目標,取得「文意」要怎麼做?
假設我們寫了一篇文章,底下有人回應,我們怎麼判斷他是好意,惡意,還是中性?
用我們的大腦判斷的話,應該是要看他有沒有打一些「關鍵字」,加上前後文,我們就可以判斷他大概是正向,還是負向,或是中性的。
那這些東西,我們是不是就可以拿剛才給的一堆陣列,加上正/負/ 中性,來做訓練。
然後再謂一些測試資料看看結果?
知道大概流程之後,我們就來看看講師為我們準備的題目:
美國專利短語相似度
這個比賽我們第一次做,就要先來認識一下
也就是我們先要了解題目給的資料長怎樣,他要我們做什麼事?
這個主題比較大,下一篇專門來講這個比賽,先這樣!